﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SHomeWorkshop.LunarConcept.Controls;
using System.Windows.Media;
using SHomeWorkshop.LunarConcept.Enums;
using SHomeWorkshop.LunarConcept.Tools;
using System.Windows;
using System.Xml;

namespace SHomeWorkshop.LunarConcept.Widgets
{
    /// <summary>
    /// 创建时间：2012年1月21日
    /// 创建者：  杨震宇
    /// 
    /// 主要用途：将LineWidget重构一下。现在，LineWidget只分两种：ArrowLineWidget/ShapeWidget。
    /// </summary>
    public abstract class ShapeWidget : LineWidget
    {
        public ShapeWidget(PageEditorReader pageEditor)
            : base(pageEditor)
        {
            this.layerIndex = WidgetLayerIndex.ShapeWidget;
            RefreshLayerIndex();
        }

        public override void Build()
        {
            base.Build();

            //此类不是任何Style相关属性的“最终实现类”，因此，这里不调用任何Refreshxxx()方法。
        }
        
        public override System.Windows.Rect OuterRect
        {
            get { return new Rect(TopLeft, BottomRight); }
        }
        
        /// <summary>
        /// 实际上不需要此方法。因为现有的几个派生类中一个也没有调用此方法。
        /// </summary>
        public override void RefreshIsShadowVisible()
        {
            if (isShadowVisible)
            {
                this.mainTextPanel.Effect = Widget.ShadowEffect;
            }
            else
            {
                this.mainTextPanel.Effect = null;
            }
        }

        public override void RefreshWidgetBackColor()
        {
            //this.mainTextPanel.Background = this.widgetBackColor;
            //ShapeWidget的文本区域，背景色直接用透明色。

            //此类不是WidgetBackColor的“最终实现类”，此方法也不需要进行什么额外操作。
        }

    }
}
